In 1995, Hung and Berns made a significant discovery published in their article “Determination of constant Hue Loci for a CRT gamut and their predictions using color appearance spaces” (Color Research and Application, Vol. 20, pp. 285-295). In their study using D65 calibrated CRTs, there was clear evidence of a perceived hue shift as one progresses from the neutral axis to maximum chroma at constant hue angle as calculated by CIELAB, particularly in the blue hues. FIG. 1 shows a plot of the data from the Hung-Berns paper showing lines of constant hue in CIELAB (L*a*b*) space.
It is readily apparent that the current definitions for CIELAB do not appear to preserve constant lines of hue. Ebner and Fairchild addressed this issue in their color space dubbed “IPT” in their paper “Development and Testing of a Color Space with Improved Hue Uniformity” (Proc. IS&T 6th Color Imaging Conference, pp. 8-13, 1998). The color space was further described in Fairchild's book Color Appearance Models. 
The IPT color space converts D65 adapted XYZ data (XD65, YD65, ZD65) to long-medium-short cone response data (LMS) using an adapted form of the well-known Hunt-Pointer-Estevez matrix (MHPE(D65)):
                              [                                                    L                                                                    M                                                                    S                                              ]                =                                            M                              HPE                ⁡                                  (                                      D                    ⁢                                                                                  ⁢                    65                                    )                                                      ⁡                          [                                                                                          X                                              D                        ⁢                                                                                                  ⁢                        65                                                                                                                                                        Y                                              D                        ⁢                                                                                                  ⁢                        65                                                                                                                                                        X                                              D                        ⁢                                                                                                  ⁢                        65                                                                                                        ]                                =                                                    [                                                                            0.38971                                                              0.68898                                                                                      -                        0.07868                                                                                                                                                -                        0.22981                                                                                    1.1834                                                              0.0461                                                                                                  0                                                              0                                                              1.0                                                                      ]                            ⁡                              [                                                                                                    X                                                  D                          ⁢                                                                                                          ⁢                          65                                                                                                                                                                        Y                                                  D                          ⁢                                                                                                          ⁢                          65                                                                                                                                                                        X                                                  D                          ⁢                                                                                                          ⁢                          65                                                                                                                    ]                                      .                                              (        1        )            
The matrix used by IPT is very close to a D65-adapted HPE matrix. A reasonable estimate of Fairchild's matrix is given by the following von Kries adaptation:
                                                                                          M                                      HPE                    ⁡                                          (                                              D                        ⁢                                                                                                  ⁢                        65                                            )                                                                      =                                                     ⁡                          [                                                                                          1                                                                        (                                                                                    LMS                              →                                                                                      WP                              ⁡                                                              (                                                                  D                                  ⁢                                                                                                                                          ⁢                                  65                                                                )                                                                                                              )                                                L                                                                                                  0                                                        0                                                                                        0                                                                              1                                                                        (                                                                                    LMS                              →                                                                                      WP                              ⁡                                                              (                                                                  D                                  ⁢                                                                                                                                          ⁢                                  65                                                                )                                                                                                              )                                                M                                                                                                  0                                                                                        0                                                        0                                                                              1                                                                        (                                                                                    LMS                              →                                                                                      WP                              ⁡                                                              (                                                                  D                                  ⁢                                                                                                                                          ⁢                                  65                                                                )                                                                                                              )                                                S                                                                                                        ]                                ⁢                      M            HPE                          ,                            (        2        )            where MHPE is the well-known Hunt-Pointer-Estevez matrix:
                                          M            HPE                    =                      [                                                            0.38971                                                  0.68898                                                                      -                    0.07868                                                                                                                    -                    0.22981                                                                    1.18340                                                  0.04641                                                                              0.0                                                  0.0                                                  1.0                                                      ]                          ,                            (                  3          ⁢          A                )                                                                    LMS              →                                      WP              ⁡                              (                                  D                  ⁢                                                                          ⁢                  65                                )                                              =                                    M              HPE                        ·                                          XYZ                →                                            WP                ⁡                                  (                                      D                    ⁢                                                                                  ⁢                    65                                    )                                                                    ,                            (                  3          ⁢          B                )            and {right arrow over (XYZ)}WP(D65) is the XYZ value of the D65 white point:
                                                        XYZ              →                                      WP              ⁡                              (                                  D                  ⁢                                                                          ⁢                  65                                )                                              =                      [                                                            0.9504                                                                              1.0000                                                                              1.0888                                                      ]                          ,                            (                  3          ⁢          C                )            Note that when the well-known CIE human observer functions are multiplied by the MHPE matrix, one obtains reasonable estimates of the LMS cone response functions as shown in FIG. 2.
As part of the IPT transformation, Fairchild converts D65 adapted XYZ value to LMS cone response values:{right arrow over (LMS)}D65=MHPE(D65)·{right arrow over (XYZ)}D65.  (4)The resulting values of LMS are raised to a 1/γ power where γ≈2.325 forming nonlinear LMS′ values:
                              L          ′                =                  {                                                                                                                                        L                        0.43                                            ;                                                                                                  L                      ≥                      0                                                                                                                                                          -                                                                                                          L                                                                                0.43                                                                    ;                                                                                                                          L                        ≤                        0                                            ,                                                                                  ⁢                                                          ⁢                              M                ′                                      =                          {                                                                                                                                                                        M                            0.43                                                    ;                                                                                                                      M                          ≥                          0                                                                                                                                                                                          -                                                                                                                          M                                                                                            0.43                                                                                ;                                                                                                                                                  M                            ≤                            0                                                    ,                                                                                                      ⁢                                                                          ⁢                                      S                    ′                                                  =                                  {                                                                                                                                          S                            0.43                                                    ;                                                                                                                      S                          ≥                          0                                                                                                                                                                                          -                                                                                                                          S                                                                                            0.43                                                                                ;                                                                                                                      S                          ≤                          0.                                                                                                                                                                            (        5        )            The values of IPT are then calculated from the non-linear LMS′ values via a linear transformation:
                                          IPT            →                    =                                    M                                                LMS                  ′                                ->                IPT                                      ·                                          LMS                ′                            →                                      ,                                  ⁢        where                            (        6        )                                          M                                    LMS              ′                        ->            IPT                          =                  100.0          ⁡                      [                                                            0.4                                                  0.4                                                  0.2                                                                              4.45                                                                      -                    4.851                                                                    0.396                                                                              0.8056                                                  0.3572                                                                      -                    1.1628                                                                        ]                                              (        7        )            The above process in many ways resembles a simplified version of the well-known CIECAM02 color appearance model which also utilizes the HPE matrix followed by somewhat more complex expressions utilizing exponents of 0.42 rather than 0.43.
The above discussions have pertained to color appearance models. Systems that transform colors in digital imaging systems, such as the well-known ICC-based color management solutions, will typically convert image data between device-dependent color spaces (e.g., RGB and CMYK) in a manner than preserve color appearance as represented using a color appearance model. The CIELAB color space is a device-independent color space that is used as a profile connection space in many color management systems and is an example of a simple color appearance model. A desirable characteristic of color appearance models is that they should be reasonably visually uniform.
The hue inconstancies of many color appearance models, such as the CIELAB color space, are problematic when such spaces are used in color management applications, particularly for applying operations, such as gamut mapping, where there is a need to transform color values while preserving hue. If effective, using IPT as a color appearance model for color management applications would be very convenient due to its simplicity and speed of calculation. Unfortunately, it was found that while IPT was effective in addressing the hue inconstancies associated with the Hung-Berns effect, it had several drawbacks relative to CIELAB when using it to perform common gamut mapping calculations. In particular, blues and greens tended to be mapped to less saturated colors relative to similar mappings performed in CIELAB.
Furthermore, it was found that the simplified power law utilized in both CIECAM02 and IPT was problematic compared to the two-part linear/power law nonlinearity used in CIELAB, and other industry standard color spaces such as sRGB. In particular, it was found that simple power law functions resulted in harsh breaks in dark color regions.
Spline-based corrections to CIELAB were proposed in the aforementioned article Hung-Berns paper to account for the hue inconstancy associated with the Hung-Berns effect. Tests within the inventor's lab have indicated that such 2-D spline corrections are insufficient. In particular, blends ranging from blue to black and blue to white demonstrate blue/purple banding.
Digital image data are typically represented using a device-dependent color space such as RGB or CMYK. Commonly, the device-dependent color space is defined by a mathematical definition relating the color values to a device-independent color space. A good summary of common color spaces can be found in Ebner's book Color Constancy (John Wiley & Sons Ltd., West Sussex, England, 2007). The most relevant color spaces for this discussion are YPBPR and YCBCR. These color spaces were defined to communicate video image signals. Color values for these color spaces are computed by applying a luma-chroma matrix to corresponding RGB color values.
Although the YPBPR and YCBCR color spaces are not considered to be color appearance models, it is helpful to note there are some similarities between the YPBPR and YCBCR color spaces and many color appearance models. YPBPR and YCBCR color spaces are both opponent color spaces, having a lama channel, and two color difference channel, which similar to many color appearance models such as CIELAB and CIECAM02. Additionally, like the equations for a* and b* in CIELAB, the chroma values PB, PR and CB, CR are computed by computing differences between a nonlinear color channel and a nonlinear luminance channel (e.g., R′−Y′ and B′−Y′). (CIELAB actually computes Y′−B′ since b* describes the positive amount of yellow rather than the positive amount of blue, it's complimentary color).
Like most color spaces, YPBPR and YCBCR are optimized for the specific range of physical RGB values used for video signals. Colors that lie outside the gamut of video displays (when converted to RGB by the matrix used for video standards) will contain negative values of R, G, or B. Thus, YPBPR and YCBCR should be regarded as a convenient standard device-dependent color space useful for video signals rather than a color appearance model.
There remains a need for a color space having desirable hue preserving characteristics that can be conveniently used for gamut mapping operations in color management applications.